package CustomResources;
import javax.swing.table.AbstractTableModel;


public class CustomTableModel2 extends AbstractTableModel {

	private static final long serialVersionUID = 3817894579441789482L;
	private String[] columnas;
	private String[] filas;
	private Integer[][] matriz;
	
	public CustomTableModel2(String[] columns,String[] fils,Integer[][] matrizAd){
		super();
		columnas=new String[columns.length+1];
		columnas[0]="";
		for(int i=0;i<columns.length;i++)
			columnas[i+1]=columns[i];
		filas=fils;
		matriz=matrizAd;
	}
	
	@Override
	public String getColumnName(int col) {
		return columnas[col];
	}
	
	@Override
	public int getColumnCount() {
		return columnas.length;
	}

	@Override
	public int getRowCount() {
		try{
		return matriz.length;
		} catch(NullPointerException e){
			return 0;
		}
	}

	@Override
	public String getValueAt(int fila, int columna) {
		String val;
		if(columna>0)
			val=matriz[fila][columna-1].toString();
		else
			val=filas[fila];
		return val;
	}
	
	public void setValueAt(Object value, int row, int col){
		try{
			Integer valor=Integer.valueOf(value.toString());
			if(valor>=0)
				matriz[row][col-1]=valor;
		}catch(NumberFormatException e){
			//No hacer nada significa q el valor de la matriz se mantiene.
		}
	}
	
	@Override
	public boolean isCellEditable(int rowIndex, int columnIndex) {
		if(columnIndex == 0)
			return false;
		else return true;
	}
	
}
